package cn.edu.imau.zy.common.core.entity.examination;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import cn.edu.imau.zy.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
import java.math.BigDecimal;
import cn.edu.imau.zy.common.core.domain.BaseEntity;
import java.util.Date;

/**
 * 考试信息对象 e_exam_info
 * 
 * @author xsc
 * @date 2021-12-04
 */

@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("e_exam_info")
public class EExamInfo implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String studentId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date createDate;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date updateDate;

    /** 总得分 */
    @Excel(name = "总得分")
    private Long mark;

    /** $column.columnComment */
    @Excel(name = "总得分")
    private Long testPaperInfoId;

    /** 1 已批改 0.待批改 */
    @Excel(name = "1 已批改 0.待批改")
    private Integer correctFlag;

    /** 系统判分 */
    @Excel(name = "系统判分")
    private Integer systemMark;

    /** 老师评分 */
    @Excel(name = "老师评分")
    private Integer teacherMark;

    /** 考试耗时（字符串存储） */
    @Excel(name = "考试耗时", readConverterExp = "字符串存储")
    private String examTime;

    /** 批改形式（1 系统 2 .教师 3 系统 + 教师） */
    @Excel(name = "批改形式", readConverterExp = "1系统,2教师,3系统+教师")
    private Integer correctType;

    /** 批改人 */
    @Excel(name = "批改人")
    private Long adminId;

    /** 客观题答对题数 */
    @Excel(name = "客观题答对题数")
    private Long rightNumber;

    /** 客观题答错题数（包括主观题未作答数量） */
    @Excel(name = "客观题答错题数", readConverterExp = "包=括主观题未作答数量")
    private Long errorNumber;

    /** 主观题数量 */
    @Excel(name = "主观题数量")
    private Long subjectiveQuestionNumber;

    /** 试题数量 */
    @Excel(name = "试题数量")
    private Long questionNumber;

    /** 考试时间（整数存储） */
    @Excel(name = "考试时间", readConverterExp = "整=数存储")
    private Long examTimeLongValue;


    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();

}
